home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr28
/
dats520.zip
/
MAKEDAT.BAS
< prev
next >
Wrap
BASIC Source File
|
1995-02-13
|
2KB
|
69 lines
DECLARE FUNCTION Rstr$ (Num%)
DECLARE SUB WriteDate (Dat$, File$, Locat%)
DEFINT A-Z
'Program to make "DateChk.dat"
'Type Definitions
TYPE HolRec
Date AS STRING * 2
Text AS STRING * 60
END TYPE
'Declare Constant Program Conditions
CONST False = 0, True = NOT False, ErrorCondition = 0
DIM SHARED Byte(3) AS STRING * 1, RWByte AS STRING * 1, Record AS HolRec
'Program Loop
OPEN "DATECHK.DAT" FOR BINARY AS 1 LEN = 62
IF LOF(1) < 6 THEN
Rec = 6
ELSE
Rec = LOF(1) + 1
END IF
DO
INPUT "Enter Month (-1 to exit): ", Da%
IF Day = -1 THEN EXIT DO
INPUT "Enter Day (-1 to exit:", Mo%
IF Month = -1 THEN EXIT DO
INPUT "Enter Text(60 char max): ", Text$
LSET Record.Text = Text$
Da$ = Rstr$(Da%)
Mo$ = Rstr$(Mo%)
IF LEN(Da$) = 1 THEN
Da$ = "0" + Da$
END IF
IF LEN(Mo$) = 1 THEN
Mo$ = "0" + Mo$
END IF
Dat$ = Mo$ + "-" + Da$ + "-1980"
CALL WriteDate(Dat$, "DATECHK.DAT", Rec)
PUT #1, Rec, Record
Rec = Rec + 62
LOOP
CLOSE
FUNCTION Rstr$ (Num)
Num$ = STR$(Num)
FOR Y = 1 TO LEN(Num$)
Chec$ = MID$(Num$, Y, 1)
IF Chec$ <> " " THEN
NewNum$ = NewNum$ + Chec$
END IF
NEXT
Rstr$ = NewNum$
END FUNCTION
SUB WriteDate (Dat$, File$, Locat)
Fil% = FREEFILE
OPEN File$ FOR BINARY AS Fil%
Mo% = VAL(MID$(Dat$, 1, 2))
Da% = VAL(MID$(Dat$, 4, 2))
Yr% = VAL(MID$(Dat$, 7, 4)) - 1980
Byte(1) = CHR$(Mo% * 16 + (Da% AND 30) / 2)
Byte(2) = CHR$((Da% AND 1) * 128 + Yr%)
FOR x = 1 TO 2
PUT #1, x - 1 + Locat, Byte(x)
NEXT
CLOSE Fil%
END SUB